package com.xqboss.apps.vo.order;

import com.xqboss.apps.enums.order.OrderStatusEnum;
import com.xqboss.apps.enums.order.OrderTypeEnum;
import com.xqboss.apps.enums.user.PayTypeEnum;
import com.xqboss.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author Trent
 * @date 2023/8/29
 */
@Data
@ApiModel
public class AppOrderListExportVo {

    @Excel(name = "订单ID")
    private Long id;

    @Excel(name = "订单类型", readConverterExp = "Recharge=充值订单,Box_NFT=单藏品盒子订单,Market=市场订单")
    private OrderTypeEnum orderType;

    @Excel(name = "商品名称")
    private String spuName;

    @Excel(name = "支付方式", readConverterExp = "Wallet=钱包支付,Alipay_APP=支付宝(APP),Alipay_H5=支付宝(H5),YeePay_JH=易宝聚合支付,YeePay_Wallet=易宝钱包支付")
    private PayTypeEnum payType;

    @Excel(name = "订单状态", readConverterExp = "UN_PAY=待支付,PAYED=已付款,COMPLETED=已完成,CANCEL=已取消,CLOSE=已关闭")
    private OrderStatusEnum status;

    @Excel(name = "用户ID")
    private Long buyerUserId;

    @Excel(name = "用户姓名")
    private String idCardName;

    @Excel(name = "用户手机号")
    private String phonenumber;

    @Excel(name = "商品数量")
    private Integer skuCnt;

    @Excel(name = "订单总金额(不含优惠)")
    private BigDecimal totalAmount;

    @Excel(name = "应付金额（扣除优惠）")
    private BigDecimal paymentAmount;

    @Excel(name = "实际支付")
    private BigDecimal actualPaymentAmount;

    @Excel(name = "手续费")
    private BigDecimal transactionFee;

    @Excel(name = "支付流水号")
    private String payOrderNo;

    @Excel(name = "支付账号")
    private String payAccount;

    @Excel(name = "公会ID")
    private Long guildId;

    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payTime;

}
